Deck Of Haunts

A icon of people8
Steam

Deck Of Haunts is a roguelike deckbuilder by Mantis Games. I worked on it for about 8 months as my Futuregames internship, remotely from Sweden while the studio is based in Ghent. The game was released on Steam a few months after my internship ended.

(We were 3 programmers including me, 2 artists plus 2 art interns for part of the time, and a project manager who also did VFX, with consultants for game design and music.)

The card system

My main responsibility was the card system that every card in the game runs on, along with implementing most of the cards themselves.

The system is written in C++, and each card is composed from reusable pieces, requirements that decide when a card can be played, effects that decide what it does, and card text that is tied to both. New cards can be built by combining existing pieces, and new behaviour only needs a new requirement or effect rather than a new card class.

A year after launch, the team’s senior programmer wrote in the anniversary update post that the card system “has proven to be very robust and flexible when it comes to adding new functionality”.

Looking back

I kept the system close to the game’s previous card system, which was based on Data Assets. Linking text, requirements and effects together as instanced objects made the system flexible for programmers, but more complicated than it needed to be for authoring cards. Today I would build it on Blueprints, so designers could create and tweak cards more directly and adding a requirement for an effect is as simple as an if statement (or well branch in Blueprints).

Other work

Since the team was small, I also worked on features across the rest of the game:

What I took from it

Working remotely and mostly independently meant taking full responsibility for my own work, while staying in sync with the rest of the team on how work was split up and delegated.